package stage_1_module_1.code;

import java.util.Scanner;

/***
 * 编程题自定义数组扩容规则，当已存储元素数量达到总容量的80%时，扩容1.5倍。
 * 例如，总容量是10，当输入第8个元素时，数组进行扩容，容量从10变15
 * 
 * 1.获取用户输入的初始容量c并初始化数组a
 * 2.每次获取一个用户输入的元素放入a
 * 3.如果a当前容量大于c*0.8，重新申请一个容量为1.5c的数组b
 * 4.将数组a的元素复制到数组b并更新容量为1.5c
 */

public class homework_4 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("输入初始数组容量:");
        int c = sc.nextInt();
        int[] a = new int[c];
        int i=0;
        while (i< (int)(0.8 * c)) {
            System.out.println("输入新的元素:");
            int t = sc.nextInt();
            a[i] = t;
            i++;
        }
        int[] b = new int[(int) (1.5 * c)];
        System.out.printf("新数组长度%d\n", b.length);

        for(int j=0;j<i;j++) {
            b[j] = a[j];
        }
        for(int m=0;m<b.length;m++) {
            System.out.printf("%s\t\n", b[m]);
        }

        sc.close();
    }
}
